let str:any = "hello TS";

// class User{
//   id:number = 1
//   name:string = ""
// }
// class Person{
//   id:number = 1
//   name:string = ""
// }
//
// let u:User = {
//   id:2,
//   name:"张三"
// }
//
// let p:Person = u;


// const u = {
//   id:1,
//   name:"张三"
// }

// type User = {
//   id:number
//   name:string
// }

// class A{
//   id:number = 1
//   name:string = ""
// }
// class B{
//   type:number = 10
//   gender:string = ""
// }
//
// type C = A & B;

// interface User{
//   id:number
//   name:string
// }
// interface User{
//   gender:string
// }
//
// let u:User = {
//   id:1,
//   name:"jack",
//   gender:"sex"
// }

// interface User{
//   id:number
//   name:string
// }
// type U = {
//   [key in keyof User]:string
// }


// interface Pet{
//   id:number
//   name:string
//   type?:string
// }
//
// type PetRequired = Required<Pet>;
// type PetPartial = Partial<Pet>;
// type PetReadonly = Readonly<Pet>;
//
// type PetPick = Pick<Pet, "id" | "name">;

// let [one, two] = [1,2];
// [one, two] = [two, one];
//
// let head,tail;
// [head, ...tail] = [1,2,3,4];

interface User{
  id:number;
  name:string;
}

let u:User = {
  id:1,
  name:"jack"
}

let {id, name} = u;

export {
  str
}